#ifndef QUEST_H_INCLUDED
#define QUEST_H_INCLUDED
#include <iostream>
#include <stdlib.h>
#include "zsc.h"
#include "changes.h"

class Question {
public:
    void Set(int ssol, int sappr, int sxp, int sbolvl, std::string stask);
    void putTask();
    Changes getSolution();
    void giveUp();
private:
    int solution;
    int appr;
    int xp;
    int boredomLvl;
    std::string task;
};

class Fight {
public:
    void Set(std::string name, int bolvl, std::string sstory,int shp, int satk, int sxp);
    void autom(bool aut, Player* p);
    void writeStory();
    Changes fight(Player* p);
private:
    Player* enemy;
    int boredomLvl;
    std::string story;
    int xp;
};

class Quest {
public:
    void setP(Player* sp);

    void setQ(int ssol, int sappr, int sxp, int sbolvl, std::string stask);

    void setF(std::string name, int bolvl, std::string sstory,int shp, int satk, int sxp);

    void putText();

    void askforType();

    void putQuestion();
    void putFight();
    void setjunc(bool j,int f,int s);

    void Set(std::string str);

    Changes getCh();

    bool getjunc() { return junc; }
private:
    std::string text;
    bool junc;
    int fjunc;
    int sjunc;
    Changes change;
    Question q;
    Fight f;
    Player* p;

};
#endif // QUEST_H_INCLUDED
